The preferred application of the sequence generator of this invention is in the control of a time division multiplexer (TDM) and the invention will be described in that context. It is to be understood, however, that this description is by no means limiting and that the sequence generator may be used in numerous other situations.
In a typical TDM system, a transmitter samples pulse signals of relatively low pulse repetition frequency from various data sources or channels and interleaves them with one another to form a composite data stream that is transmitted at high speed to a remote receiver. Ordinarily, the TDM transmitter inserts the signals representative of a single bit or a single character in a single time slot in the composite data stream and interleaves the signals from different channels on a bit-by-bit or character-by-character basis so that adjacent time slots contain signals from different channels. However, different size blocks of signals could be used if desired. At the receiver, the individual bits or characters are separated from one another and allocated to various low frequency data channels similar to those at the transmitter.
To permit proper decoding of the data stream at the receiver, the transmitter interleaves the signals from the various data channels in accordance with a fixed schedule which it repeats endlessly and the receiver uses the same schedule to decode the data stream. Each cycle of the schedule is called a frame. In addition to data signals, each frame ordinarily includes a synchronization signal called a frame sync word and various control signals. Typically, the synchronization and control signals take up a small portion (less than 5%) of the total frame which is referred to as the overhead. To simplify the generation of the signals used to select the particular data channel from which a bit or character is to be transmitted, it is customary to sample the data channels in a fixed pattern which is repeated numerous times within each frame. Each such cycle of repetition is called a subframe and there are an integral number of subframes per frame.
While the use of subframes makes it feasible to design circuitry that will sample a series of data channels at a relatively high rate, the repetitious nature of the subframes means that each channel will be sampled at a rate equal to the product of the number of subframes per frame and the number of times the channel is sampled in the subframe. In some cases, however, it may be desirable to sample at a rate which is not an integer multiple of the number of times a channel is sampled in a subframe. In other cases the need for sampling a given channel may be so small that it does not warrant sampling it at all in each subframe. For example, the data rate in the channel may be less than the number of subframes generated per second. In such instances it is wasteful to assign to a given channel more time slots that are necessary to transmit the available data.